﻿
#region Imported Namespaces

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

#endregion

namespace TupleGeo.Emergency.CAP {

  /// <summary>
  /// The AlertMsgType enumeration denotes the nature of the alert message.
  /// </summary>
  [SerializableAttribute()]
  [XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:cap:1.2")]
  public enum AlertMsgType {

    /// <summary>
    /// <para>
    /// Initial information requiring attention by targeted recipients.
    /// </para>
    /// <para>
    /// Xml serialization: <code>Enum</code>, Name: <code>Alert</code>
    /// </para>
    /// </summary>
    [XmlEnumAttribute("Alert")]
    Alert,

    /// <summary>
    /// <para>
    /// Updates and supercedes the earlier message(s)
    /// identified in <see cref="Alert.References"/>.
    /// </para>
    /// <para>
    /// Xml serialization: <code>Enum</code>, Name: <code>Update</code>
    /// </para>
    /// </summary>
    [XmlEnumAttribute("Update")]
    Update,

    /// <summary>
    /// <para>
    /// Cancels the earlier message(s) identified in <see cref="Alert.References"/>.
    /// </para>
    /// <para>
    /// Xml serialization: <code>Enum</code>, Name: <code>Cancel</code>
    /// </para>
    /// </summary>
    [XmlEnumAttribute("Cancel")]
    Cancel,

    /// <summary>
    /// <para>
    /// Acknowledges receipt and cceptance of the message(s)
    /// identified in <see cref="Alert.References"/>.
    /// </para>
    /// <para>
    /// Xml serialization: <code>Enum</code>, Name: <code>Ack</code>
    /// </para>
    /// </summary>
    [XmlEnumAttribute("Ack")]
    Ack,

    /// <summary>
    /// <para>
    /// Indicates rejection of the message(s) identified in <see cref="Alert.References"/>.
    /// Explanation SHOULD appear in <see cref="Alert.Note"/>.
    /// </para>
    /// <para>
    /// Xml serialization: <code>Enum</code>, Name: <code>Error</code>
    /// </para>
    /// </summary>
    [XmlEnumAttribute("Error")]
    Error,

  }

}
